﻿using System;
using SharpSqlAnalyzer.pp.processor;
using SharpSqlAnalyzer.pp.stmtformatter.type;
using SharpSqlAnalyzer.pp.stmtformatter.type.comm;

namespace SharpSqlAnalyzer.pp.stmtformatter.builder.comm
{
	// Token: 0x0200022B RID: 555
	public class UpdateStmtFormatterBuilder : AbstractStmtFormatterBuilder
	{
		// Token: 0x06001290 RID: 4752 RVA: 0x00319818 File Offset: 0x00317A18
		protected internal override void initSpecialProcessorForFormatter(AbstractStmtFormatter formatterArg)
		{
			UpdateStmtFormatter updateStmtFormatter = formatterArg as UpdateStmtFormatter;
			updateStmtFormatter.addSpecialProcessor(ProcessorFactory.createCapitalisationProcessor(this.Option));
			updateStmtFormatter.addSpecialProcessor(ProcessorFactory.createCombineWhitespaceAndClearReturnProcessor(this.Option));
			updateStmtFormatter.addSpecialProcessor(ProcessorFactory.createUpdateKeyWordAlignProcessor(this.Option));
			updateStmtFormatter.addSetClauseProcessor(ProcessorFactory.createAppendNewLineBeforeReverseKeyWordProcessor(this.Option, true, "set"));
			updateStmtFormatter.addSetClauseProcessor(ProcessorFactory.createColumnlistCommaProcessor(this.Option, this.Option.defaultCommaOption, this.Option.defaultAligntype));
			updateStmtFormatter.addWhereClauseProcessor(ProcessorFactory.createAppendNewLineBeforeReverseKeyWordProcessor(this.Option, true, "where"));
		}

		// Token: 0x06001291 RID: 4753 RVA: 0x003198B2 File Offset: 0x00317AB2
		protected internal override AbstractStmtFormatter newInstanceFormatter()
		{
			return new UpdateStmtFormatter();
		}
	}
}
